package com.smt.modules.bus.service;

import com.baomidou.mybatisplus.service.IService;
import com.smt.common.utils.R;
import com.smt.modules.bus.entity.MemberUserEntity;
import com.smt.modules.bus.vo.request.DocumentManageReq;
import com.smt.modules.bus.entity.DocumentEntity;
import com.smt.modules.bus.vo.DocumentVo;
import com.smt.modules.bus.vo.request.LoadFileReq;
import org.apache.tools.ant.taskdefs.LoadFile;

import java.lang.reflect.Member;

/**
 * 文件管理接口
 *
 * @author zhangyi
 * @date 2018/10/8 11:51
 */
public interface DocumentManageService extends IService<DocumentEntity> {

    /**
     * 上传文件
     *
     * @param documentVo
     * @return
     */
     R upload(DocumentVo documentVo);

    /**
     * 查询文件列表 我的文件
     *
     * @param userId
     * @param documentManageReq
     * @return
     */
     R list(DocumentManageReq documentManageReq,Long userId);

    /**
     * 下载文件
     *
     * @param fileId
     * @return
     */
     R download(Long fileId);

    /**
     * 更新文件
     *
     * @param fileUrl
     * @param documentManageReq
     * @param memberUserEntity
     * @return
     */
    R update(String fileUrl,DocumentManageReq documentManageReq,MemberUserEntity memberUserEntity);

    /**
     * 删除文件
     *
     * @param fileId
     * @return
     */
    R delete(Long fileId);

    /**
     * 文件模糊查询
     *
     * @param projectId
     * @param fileName
     * @return
     */
    R search(Long projectId,String fileName);

    /**
     * 任务和子任务，文件打包
     *
     * @param loadFileReq
     * @return
     */
    R docBackPage(LoadFileReq loadFileReq,MemberUserEntity memberUserEntity);
}
